Serial RapidIO (sRIO) is a high-performance packet-based interconnect technology specified by a communication standard and used in many communication systems. In these communication systems, packet switches based on an sRIO standard route data packets between endpoint devices in the communications systems. Although some of these packet switches are based on the sRIO 1.3 standard, it is anticipated that future communication systems will use packet switches based on the sRIO 2.0 standard. In particular, the sRIO 2.0 standard provides for virtual channels (VC0-VC8), which are not specified in the sRIO 1.3 standard. The virtual channels specified in the sRIO 2.0 standard provide a mechanism that allows the bandwidth of a data link to be allocated among different streams of unrelated data in a manner that ensures that each stream, or group of streams, receives a guaranteed minimum fraction of the bandwidth in the data link.
As communications systems evolve from the sRIO 1.3 standard to the sRIO 2.0 standard, it is likely that some of these communications systems will contain both endpoint devices compliant with the sRIO 1.3 standard and other endpoint devices compliant with the sRIO 2.0 standard. One technique for employing both of these sRIO standards in a communication system involves fragmenting the communication system such that endpoint devices compliant with the sRIO 1.3 standard are isolated from those endpoint devices compliant with the sRIO 2.0 standard. Such a fragmented communication system, however, has limited practicality for endpoint devices operating as an embedded system interconnect. Another technique for employing both of these sRIO standards in a communication system involves using virtual channel zero (VC0) as specified in the sRIO 2.0 standard.
To facilitate migration of communication systems from the sRIO 1.3 standard to the sRIO 2.0 standard, the sRIO 2.0 standard specifies a low-level virtual channel (VC0) that is backward compatible with the sRIO 1.3 standard. This virtual channel uses a reliable transmission protocol that allows endpoint devices compliant with the sRIO 1.3 standard to communicate with endpoint devices compliant with the sRIO 2.0 standard in a communication system. The reliable transmission protocol is a lossless protocol that requires retransmission of a data packet lost during initial transmission of the data packet to an endpoint device in the communication system. For example, a data packet may be lost if the data packet is corrupt or the endpoint device does not presently have storage capacity to store the data packet.
A device compliant with the sRIO 1.3 standard, however, may not effectively communicate with a device compliant with the sRIO 2.0 standard over higher-level virtual channels (VC1-VC8), which may be configured to use either the reliable transmission protocol or a continuous transmission protocol. The continuous transmission protocol is a low-latency lossy protocol that requires a data packet not correctly received by an endpoint device in the communication system to be discarded and not retransmitted to the endpoint device. Thus, a device compliant with the sRIO 1.3 standard may not effectively communicate with a device compliant with the sRIO 2.0 standard by using the continuous transmission protocol.
In light of the above, a need exists for a communication system with improved communication between endpoint devices compliant with different communication standards or different versions of a communication standard. A further need exists for a packet switch that facilitates communication between endpoint devices compliant with the serial RapidIO 1.3 standard and endpoint devices compliant with the serial RapidIO 2.0 standard through virtual channels.